package com.yujiahao.bigdata.rdd.transform

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Spark_RDD_Pper_Transform_MapExer {
  def main(args: Array[String]): Unit = {


    //TODO 1、获得连接
    val conf: SparkConf = new SparkConf().setAppName("WordCount").setMaster("local[*]")
    val sc: SparkContext = new SparkContext(conf)

    //TODO 3、业务逻辑 从服务器日志数据apache.log中获取用户请求URL资源路径

    // 1) 使用textFile获取到文件信息
    val rdd: RDD[String] = sc.textFile("data/apache.log")

    //2) 将数据拆开拿到后面的路径，这里用map就行，fltmap不行，fltmap拆分之后要拿到所有的
    val value: RDD[String] = rdd.map(
      line => {
        // 2.1) 读取一行用空格进行切割
        val datas: Array[String] = line.split(" ")
        // 2.2) 因为切割后的数据是一个Array数组，而资源路径又是第6个索引对应的元素
        datas(6)
      }
    )
    //3) 打印遍历
    value.collect().foreach(println)

    //TODO 2、关闭连接
    sc.stop()
  }
}